Найдите вторую
цифру целого числа. Отсчёт цифр следует начинать с наивысшего разряда.
Вход. Одно
целое 64-х разрядное число n, содержащее не менее двух цифр. Число n может
быть отрицательным.
Выход. Выведите вторую цифру
числа n.
Пример
входа |
Пример
выхода |
43568 |
3 |
циклы
Анализ алгоритма
Если входное
число n отрицательное,
то вычислим его модуль – от этого вторая цифра не изменится. Далее делим число
на 10, пока оно больше
99. Последняя цифра полученного числа будет второй цифрой начального числа.
Реализация алгоритма
Читаем входное
число n. Поскольку оно 64-х
разрядное, то используем тип long long.
Если оно отрицательно, то изменим его знак на противоположный.
scanf("%lld",&n);
if (n < 0) n = -n;
Делим число n на 10
пока оно больше 99.
while (n > 99) n /= 10;
Последняя цифра
полученного числа будет второй цифрой начального числа. Выводим ее.
res = n % 10;
printf("%lld\n",res);
Java реализация
import java.util.*;
public class Main
{
public static void main(String []args)
{
Scanner con = new
Scanner(System.in);
long n = con.nextLong();
if (n < 0) n = -n;
while (n > 99) n /= 10;
long res = n % 10;
System.out.println(res);
con.close();
}
}
Python реализация – арифметический подход
Читаем входное
число n.
n = int(input())
Если число n отрицательно, то изменим его знак на
противоположный.
if n < 0: n = -n
Делим число n на 10
пока оно больше 99.
while n > 99:
n = n // 10
Последняя цифра
полученного числа будет второй цифрой начального числа. Выводим ее.
res = n % 10
print(res)
Python реализация – строка
Читаем входное
число n.
n = int(input())
Вычисляем модуль числа n. Далее преобразовываем его в строку, извлекаем первый символ (индексация в строках начинается с нуля) и преобразуем его обратно в целое число.
res = int(str(abs(n))[1])
Выводим ответ.
print(res)